package com.woniu.bh.beautysalon.web.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniu.bh.beautysalon.model.dto.*;
import com.woniu.bh.beautysalon.model.params.*;
import com.woniu.bh.common.core.domain.beautysalon.Beautysalon;
import io.swagger.models.auth.In;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author cxb
 * @since 2020-10-13
 */
public interface IBeautysalonService extends IService<Beautysalon> {
    /**
     * @description: 查询美容馆信息
     * @param:
     * @return: BeautysalonDto
     */
    BeautysalonDto getInfo(Integer beautysalonId);

    /**
     * @description: 申请资料新增到数据库
     * @param: beautysalon
     * @return: int
     */
    int application(Beautysalon beautysalon);

    /**
     * @description: 查询美容馆所有信息
     * @param:
     * @return: List<MessageDto>
     */
    List<MessageDto> getMessage(Integer beautysalonId);

    /**
     * @description: 分页查询消费记录用户
     * @param: pageIndex
     * @param: pageSize
     * @param: beautysalonId
     * @param: beforeAge
     * @param: afterAge
     * @param: sex
     * @return: com.baomidou.mybatisplus.core.metadata.IPage<com.woniu.bh.beautysalon.dto.CustomerDto>
     */
    IPage<CustomerDto> pageQuery(int pageIndex, int pageSize, String sex, Integer beautysalonId, Integer beforeAge, Integer afterAge);

    /**
     * @description: 密码登录校验
     * @param: loginByPassParam
     * @return: int
     */
    int login(LoginByPassParam loginByPassParam);

    /**
     * @description: 查询电话号码是否已经被注册
     * @param: phone
     * @return: int
     */
    int beforeRegister(String phone);

    /**
     * @description: 注册
     * @param: phone
     * @param: pass
     * @return: void
     */
    void register(String phone, String pass);

    /**
     * @description: 上传美容馆图片
     * @param: fileUrl
     * @return: void
     */
    void uploadPics(String fileUrl, Integer beautysalonId);

    /**
     * @description: 资质照片
     * @param: fileUrl
     * @return: void
     */
    void qualificationsPics(String fileUrl, Integer beautysalonId);

    /**
     * @description: 新增广告
     * @param: advertisementParam
     * @param: beautysalonId
     * @return: void
     */
    void addNewAd(AdvertisementParam advertisementParam, Integer beautysalonId);

    /**
     * @description: 分页条件查询美容馆基本信息
     * @param: conditionedQueryParam
     * @return: com.baomidou.mybatisplus.core.metadata.IPage<com.woniu.bh.beautysalon.model.dto.BeautysaloBaseInfoDto>
     */
    IPage<BeautysalonBaseInfoDto> getBaseInfo(ConditionedQueryParam conditionedQueryParam);

    /**
     * @description: 删除场馆
     * @param: beautysalonId
     * @return: int
     */
    int beautysalonDel(Integer beautysalonId);

    /**
     * @description: 审核美容馆通过
     * @param: beautysalonId
     * @return: int
     */
    int auditPass(Integer beautysalonId);

    /**
     * @description: 审核未通过
     * @param: beautysalonCheckResultParam
     * @return: int
     */
    int auditRejected(BeautysalonCheckResultParam beautysalonCheckResultParam);

    /**
     * @description: 我的广告
     * @param: beautysalonId
     * @return: com.baomidou.mybatisplus.core.metadata.IPage<com.woniu.bh.beautysalon.model.dto.MyAdDto>
     */
    IPage<MyAdDto> getAllAd(MyAdParam myAdParam, Integer beautysalonId);

    /**
     * @description: 重置密码
     * @param: phone
     * @param: pass
     * @return: void
     */
    void restPass(Integer beautysalonId, String pass);
}
